package com.onesports.intelligent.k12.polarlight.mapper.course;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.onesports.intelligent.k12.polarlight.annotation.DataPermission;
import com.onesports.intelligent.k12.polarlight.domain.dto.course.CourseScheduleQueryDTO;
import com.onesports.intelligent.k12.polarlight.domain.vo.course.CourseScheduleVO;
import com.onesports.intelligent.k12.polarlight.domain.vo.course.MyCourseScheduleVO;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.onesports.intelligent.k12.polarlight.domain.entity.course.CourseSchedule;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ${comments}
 *
 * @author
 * @since 1.0.0 2022-07-08
 */
@Mapper
public interface CourseScheduleMapper extends BaseMapper<CourseSchedule> {


    /**
     * 分页查询排课表
     *
     * @param page 分页参数
     * @param dto  查询参数
     * @return IPage<CourseScheduleVO>
     */
    @DataPermission
    IPage<CourseScheduleVO> schedulePage(@Param("page") Page<CourseScheduleVO> page,@Param("dto") CourseScheduleQueryDTO dto);

    /**
     * 查询课程安排列表
     *
     * @return {@link List}<{@link MyCourseScheduleVO}>
     */
    List<MyCourseScheduleVO> queryCourseScheduleList(@Param("campusId")String campusId,@Param("courseId")String courseId,@Param("nowDate")String nowDate);
}
